package com.ugoodtech.mdcc.web.service;

        /* Copyright (C) Ugoodtech, Inc - All Rights Reserved
         * Unauthorized copying of this file, via any medium is strictly prohibited
         * Proprietary and confidential
         */

import com.ugoodtech.mdcc.core.domain.User;
import com.ugoodtech.mdcc.core.domain.UserLog;
import io.swagger.annotations.ApiParam;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

public interface UserLogService {

    UserLog addUserLog(User user, String stationNum, String operateType, String businessType, Long dataId, Map<String, Object> data);
    UserLog addUserLog(User user, String stationNum, String operateType, String businessType, Long dataId, Map<String, Object> data, HttpServletRequest request);

    UserLog addUserLog(User user, String stationNum, Long reportId, String category, String operateType, String businessType, Long dataId, Map<String, Object> data);

//    获取维修站信息=============================================
    void setLogStation(UserLog userLog);

    Page<UserLog> queryUserLogs(
            @ApiParam("开始时间") Long startDate,
            @ApiParam("结束时间") Long endDate,
            @ApiParam("人员姓名") String userName,
            @ApiParam("人员手机号") String phoneNumber,
            @ApiParam("维修站名称") String stationName,
            @ApiParam("IP地址") String ipAddress,
            @ApiParam("操作类型") String operateType,
            @ApiParam("业务类型") String businessType,
            @ApiParam("描述") String description,
            @ApiParam("报告类型") String category,
            @ApiParam("报告ID") Long reportId,
            @ApiParam("是否未审核通过") Boolean audited,
            Pageable pageable);
}
